package com.engine4cloud.tdf.supervision.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.engine4cloud.tdf.common.data.web.response.PageInfo;
import com.engine4cloud.tdf.common.data.web.response.Params;
import com.engine4cloud.tdf.supervision.dto.create.JzdxTerminalManageCreateDTO;
import com.engine4cloud.tdf.supervision.dto.query.JzdxLocPhoneQueryDTO;
import com.engine4cloud.tdf.supervision.dto.query.JzdxTerminalManageQueryDTO;
import com.engine4cloud.tdf.supervision.dto.query.JzdxTerminalQueryDTO;
import com.engine4cloud.tdf.supervision.dto.result.JzdxLocPhoneResultDTO;
import com.engine4cloud.tdf.supervision.dto.result.JzdxTerminalManageResultDTO;
import com.engine4cloud.tdf.supervision.dto.result.JzdxTerminalNeedLocResultDTO;
import com.engine4cloud.tdf.supervision.dto.update.JzdxTerminalManageUpdateDTO;
import com.engine4cloud.tdf.supervision.entity.JzdxTerminalManageEntity;

import java.util.List;

public interface JzdxTerminalManageService extends IService<JzdxTerminalManageEntity> {

    PageInfo<JzdxTerminalManageResultDTO> getTerminalManagePage(Params page, JzdxTerminalManageQueryDTO dto);

    JzdxTerminalManageResultDTO getById(Long id);

    Boolean create(JzdxTerminalManageCreateDTO dto);

    Boolean update(JzdxTerminalManageUpdateDTO dto);

    Boolean checkUnique(Long id, String locPhone, String phoneIdentity, String imei);

    PageInfo<JzdxLocPhoneResultDTO> locPhoneList(JzdxLocPhoneQueryDTO dto);

    void removeByCode(String code);

    JzdxTerminalManageResultDTO findOne(JzdxTerminalManageQueryDTO dto);

    JzdxTerminalManageResultDTO findByTerminal(JzdxTerminalQueryDTO dto);

    List<JzdxTerminalNeedLocResultDTO> findNeedLoc(Long deptId);
}